Translating B to TLA + for Validation with TLC

نویسندگان

  • Dominik Hansen
  • Michael Leuschel
چکیده

The state-based formal methods B and TLA share the common base of predicate logic, arithmetic and set theory. However, there are still considerable differences, such as the way to specify state transitions, the different approaches to typing, and the available tool support. In this paper, we present a translation from B to TLA to validate B specifications using the model checker TLC. The translation includes many adaptations and optimizations to allow efficient checking by TLC. Moreover, we present a way to validate liveness properties for B specifications under fairness conditions. Our implemented translator, Tlc4B, automatically translates a B specification to TLA, invokes the model checker TLC, and translates the results back to B. We use ProB to double check the counter examples produced by TLC and replay them in the ProB animator. Tlc4B can also transmit constant values, precalculated by ProB to TLC. This allows the user to combine the strength of both tools, i.e. ProB’s constraint solving abilities and TLC’s highly tuned model checking core. Furthermore, we demonstrate an approach to optimize the model checking process by encoding proof information in the translated TLAspecification. We also present a series of case studies and benchmark tests comparing Tlc4B and ProB.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Translating TLA + to B for Validation with ProB

TLA and B share the common base of predicate logic, arithmetic and set theory. However, there are still considerable differences, such as very different approaches to typing and modularization. There is also considerable difference in the available tool support. In this paper, we present a translation of the non-temporal part of TLA to B, which makes it possible to feed TLA specifications into ...

متن کامل

Model Checking TLA+ Specifications

TLA is a specification language for concurrent and reactive systems that combines the temporal logic TLA with full first-order logic and ZF set theory. TLC is a new model checker for debugging a TLA specification by checking invariance properties of a finite-state model of the specification. It accepts a subclass of TLA specifications that should include most descriptions of real system designs...

متن کامل

Stepwise Refinement Validation of Design Patterns Formalized in TLA+ using the TLC Model Checker

Spec ∆ = Abstract !Spec This is P ’s specification theorem Spec ⇒ AbstractSpec Spec is Q ’s specification Figure 2: Structure of a TLA+ refinement of patterns

متن کامل

Formal Methods for Verifications of Reactive Systems

This chapter deals with the use of two verification approaches: theorem proving and model checking. The authors focus on the Event-B method by using its associated theorem proving tool (Click_n_Prove), and on the language TLA+ by using its model checker TLC. By considering the limitation of the Event-B method to invariance properties, the authors propose to apply the language TLA+ to verify liv...

متن کامل

Checking Cache-Coherence Protocols with TLA+

We have a great deal of experience using the specification language TLA and its model checker TLC to analyze protocols designed at Digital and Compaq (both now part of HP). The tools and techniques we have developed apply equally well to software and hardware designs. In this paper, we describe our experience using TLA and TLC to verify cache-coherence protocols.

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2014